﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

<!--TO READ THIS HELP FILE, RIGHT-CLICK ON THE FILE NAME IN THE
    SOLUTION EXPLORER PANE AND SELECT "VIEW IN BROWSER"
-->

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>
<title>Microsoft Visual Studio 2010 Shell Isolated Starter Kit</title>
<style type="text/css">
<!--
BODY            { font-family: Verdana; font-size: 67% }
.maindiv        { background: url('Images/SideBar.png') repeat-y; padding-left: 55px; padding-top: 5px; position: relative; height: 50px }
P               { margin-top: 0; margin-bottom: 6px; line-height:130% }
H1              { margin-top: 20px; margin-bottom: 12px; font-size:190% }
H2              { color: #585F56; left: -55px; position: relative; margin-top: 21px; margin-bottom: 9px; font-size:170% }
H3              { margin-top: 21px; margin-bottom: 9px; font-size: 140%;  font-weight: bold}
H4              { margin-top: 18px; margin-bottom: 9px; font-size: 140%; font-weight: bold}
OL              { margin-top: 0; margin-bottom: 9px; line-height:130%}
UL              { margin-top: 0; margin-bottom: 9px; line-height:130%}
LI              { margin-top: 0; margin-bottom: 6px }
BLOCKQUOTE      { margin-left: 20px }
PRE             { font-family: "Courier New"; font-size:11.0pt; BACKGROUND: #FFFFCC;  padding-top: 6px; padding-bottom: 6px;}
TABLE           { padding: 4px; BACKGROUND: #f8f7ef; BORDER: #DDDCD6 1px solid; BORDER-COLLAPSE: collapse; margin-bottom: 9px; }
TR              { vertical-align: top} 
TD              { padding: 4px; font-family: Verdana; font-size: 67%; line-height: 130%} 
.contents       { line-height: 150%; color: #003300}
DIV.CodeBlock   { font-family: "Courier New"; font-size: 100%; margin-bottom: 6px; BACKGROUND: #f8f7ef; BORDER: #eeede6 1px solid; padding: 10px; }
.CodeInline     { font-family: "Courier New" }
.ProcedureLabel { margin-top: 12px; font-style: italic; font-weight: bold; color: #0D4CC3 } 
.FileNameCol    { padding: 6px; BACKGROUND: #eeede6; width:220px; font-weight: bold}
.keyword        { font-size:11.0pt; font-family: "Courier New"; color:Blue}
.type           { font-size:11.0pt; font-family: "Courier New"; color:Teal}
.string         { font-size:11.0pt; font-family: "Courier New"; color:Maroon}
-->
</style>
</head>

<body style="margin-top:0; margin-left:0; margin-right:20px; margin-bottom:0">
<div style="background-color:#788abe"><img alt="Microsoft (R) Visual Studio (C) 2010 SDK" src="Images/Title.png" /></div>
<div class="maindiv">

<a name="top">

<!-- MAIN CONTENT BEGINS -->

</a>

<h1><a name="top">Starter Kit: Visual Studio 2010 Shell Isolated</a></h1>
<p><b><a name="top">Contents:</a></b></p>

<p class="contents">
<a href="#Introduction">Introduction</a>
<br/><a href="#Goals">The Visual Studio 2010 Shell Isolated Solution</a>
<br/><a href="#Getting_Started">Getting Started</a>
<br/><a href="#Extending_VSShell">Extending your Visual Studio 2010 Shell Isolated application</a>
<br/><a href="#ForMoreInformation">For More Information</a>
<br/>

</p>

<h2>
<a href="#top"><img alt="Navigat to the top of the document" src="Images/TopJump.png" border="0"/></a>
<a name="Introduction">Introduction</a>
</h2>


<img src="Images/AppEnv.jpg" alt="Visual Studio Shell Isolated" align="right" style="margin-left: 15px; margin-bottom: 10px; border:0"/>
<p>This Visual Studio 2010 SDK Starter Kit helps you create your own application based on Visual Studio technology. 
The project comes ready to compile and run, and it's easy to customize with only a little extra programming.</p>
<p>
  The Visual Studio 2010 Isolated Shell provides a shell for developers to customize and use as the main delivery vehicle for their products. 
  Some of the customization areas include:
 <ul>
   <li>Enable/Disable Packages through pkgdef and pkgundef</li>
   <li>Enable/Disable menu commands through VSCT file</li>
   <li>A WPF Help/About window</li>
   <li>Application title</li>
   <li>Application icon</li>
   <li>Splash screen bitmap</li>
   <li>Command Line logo</li>
   <li>User Files sub folder name</li>
   <li>New Project Dialog solution tree node title</li>
   <li>New Project Dialog installed templates header</li>
   <li>Hide Miscellaneous files by default</li>
   <li>Addins allowed</li>
   <li>Disable output window</li>
   <li>Allow dropped files on main window</li>
   <li>Default search page</li>
   <li>Default home page</li>
   <li>Hide solution concept</li>
   <li>Default debug engine</li>
   <li>User options file extension</li>
   <li>Solution file extension</li>
   <li>Default user files folder root</li>
   <li>Solution file creator identifier</li>
   <li>Predefined aliases string</li>
   <li>Default projects location</li>
   <li>Application localization package</li>      
</ul>


</p>
<p><b>Note:</b> This documentation assumes that you have advanced knowledge of 
programming concepts, the Visual Studio environment, and the Visual Studio SDK. You can learn more about 
these topics in the product documentation by clicking <b>Help</b> on the File 
Menu, or by positioning the mouse cursor on language keywords or user interface 
elements such as windows or dialog boxes, and pressing <b>F1</b>.
</p>

<h2>
<a href="#top"><img alt="Navigate to the top of the document" src="Images/TopJump.png" border="0"/></a>
<a name="Goals">The Visual Studio 2010 Shell Isolated Solution</a>
</h2>

<p>This starter kit creates the following projects to help you customize and extend the isolated shell:</p>
<li>The VSShellStub1 project, which calls the appropriate code to begin running your own instance of the
    isolated shell. The Shell Customization folder in this project contains the settings files
    you can use to customize the appearance of your isolated shell application.
</li>
<li>
  The VSShellStub1UI project, which contains a Visual Studio Command Table (VSCT) 
  file that defines the available Visual Studio menu items. By commenting and uncommenting lines of text
  in this file, you can add and remove items from the menus. For example, if
  you do not want the View|Full Screen command to be available for your
  application, you can make the following modification: in the <b>VSShellStub1UI.vsct</b> file, find the line
<b>&lt;Define name="No_ShellPkg_FullScreen"/&gt;</b> and uncomment it. Doing so will cause the View|Full Screen
    command not to appear after the solution has been rebuilt. 
</li>
 <li>The ShellExtensionsVSIX project, which contains the "master" source.extension.vsixmanifest file, 
 which contains references to the different extension projects in the isolated shell application. By default, it refers
 only to the VSShellStub1.AboutBoxPackage, but you can add other VSPackages and Managed Extensibility Framework (MEF)
 components.
 </li>
 <li> The VSShellStub1.AboutBoxPackage project which contains a VSPackage that adds the menu command
 for a Help/About window for your isolated shell application. You can customize the menu command and the 
 window as you wish.
 </li>
</ul>

<h2>
<a href="#top"><img alt="Navigat to the top of the document" src="Images/TopJump.png" border="0"/></a>
<a name="Getting_Started">Getting Started</a>
</h2>


<p><b>Building and Running the Visual Studio 2010 Shell Isolated Solution</b></p>

<p>
  Once the Visual Studio Shell Isolated solution is loaded into the Visual Studio environment, you can
  compile and run the program in one step. Press <b>F5</b> to build and start Visual Studio Shell Isolated solution under the debugger.
  After building, the project will register your Visual Studio Shell Isolated program for use with your
  computer and then launch your customized version of Visual Studio.
</p>

<p><b>.PkgDef Files</b></p>
<p>These files are similar to .reg files, with the addition of replacement variables.&nbsp;
  .PkgDef files files are read and parsed, and then their contents are merged into the registry. When your application runs, the registry
  entries created by the .PkgDef file are used to configure the way users view and interact with your application.
  Most of the changes that you might want to make to your application are made in
  the file VSShellStub1.pkgdef file.&nbsp; For example, open the file VSShellStub1.pkgdef within the VSShellStub1
project. Near the top of this file is an entry which looks like <code>&quot;AppName&quot;=&quot;VSShellStub1&quot;</code>. If you
change this to <code>&quot;AppName&quot;=&quot;My New Application Name&quot;</code> 
and then build and run your application, the 
title bar of the application would read <code>My New Application Name</code>.</p>


<p><b>The &quot;Command Used&quot; VSCT file</b></p>
<p>Developers familiar with developing VSPackages are accustomed to creating commands. Visual Studio contains a large set of predefined commands, such as File|Open|File or View|Task List,
that are available to users. However, some of these commands may not be appropriate for your application. For example, if
you do not want to open files, the File|Open|File command would not be appropriate for you to display in your application. You can 
hide or show these commands and the UI associated with them through the Command Used VSCT file.&nbsp;
</p>
<p>Open the 
<code>Resource Files\VSShellStub1UI.vsct</code> file in the VSShellStub1UI 
project and simply add or remove <code>UsedCommands</code> or <code>UsedCommand</code> definitions to 
determine which commands are shown to your users.
</p>

<h2>
<a href="#top"><img alt="Navigat to the top of the document" src="Images/TopJump.png" border="0"/></a>
 <a name="Extending_VSShell">Extending your Visual Studio 2010 Shell Isolated application</a>
</h2>

<h3>Changing the Splash Screen and Icon Graphics</h3>

<p>The graphics that are displayed for the splash screen and for the icon of your 
	application are stored in your application&#39;s local directory and referenced from the 
	registry. It’s easy to modify the images to display.</p>

<p class="ProcedureLabel">To change the splash screen image:</p>
<ol>
<li>Expand the project <b>VSShellStub1</b> from within the Solution Explorer tool 
	window.</li>
<li>Expand the <b>Resources</b> node of this project.</li>
<li>Double-click the file <b>Splash.bmp</b>. Modify the image in any way that you 
	wish, and then save the file. When you run your application application, the splash 
	screen displayed will be your newly modified bitmap. Note that there will be an 
	overlay drawn on the bottom left corner of the bitmap. This overlay cannot be 
	removed, and will always be drawn on the splash screen.</li>
</ol>

<p class="ProcedureLabel">To change the icons associated with your application:</p>
<ol>
<li>Expand the project <b>VSShellStub1</b> from within the Solution Explorer tool 
	window.</li>
<li>Expand the <b>Resources</b> node of this project.</li>
<li>Double-click the <b>VSShellStub1.ico</b> file, opening it within the icon editor.</li>
</ol>

  
<h2><a href="#top"><img alt="Navigat to the top of the document" src="Images/TopJump.png" border="0"/></a><a name="ForMoreInformation">For 
    More Information</a>
</h2>

<h3>Online Resources</h3>

<ul>
<li>
<a href="http://go.microsoft.com/fwlink/?LinkId=181878">More Isolated Shell resources</a>
</li>
<li>
<a href="http://msdn.microsoft.com/vsx/">Visual Studio Extensibility Center</a>
</li>
<li>
<a href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=57&SiteID=1">Visual Studio Extensibility Forums</a>
</li>
</ul>


<p>
© Microsoft Corporation and/or its suppliers. All rights reserved.
</p>

</div>

</body>

</html>
